【資料公開】〜小さく始めて大きく育てる〜データ分析基盤の開発から活用まで #devio_osakaday1
データアナリティクス事業本部インテグレーション部機械学習チーム・新納(にいの)です。
2024/4/11に、淀屋橋に移転したクラスメソッド大阪オフィスにてDevelopersIO OSAKA Day One -re:union-を開催しました。ご来場いただいたみなさま、ありがとうございました!
当日の様子はXのハッシュタグ「#devio_osakaday1」でもご覧いただけます。
私が所属するデータアナリティクス事業本部は、niinoとNayuta S.の2人で「〜小さく始めて大きく育てる〜データ分析基盤の開発から活用まで」というセッションをお届けしました。
概要
パブリッククラウドのアナリティクス系サービスやdbtのようなOSSを使ったデータ分析基盤構築から、BI・機械学習サービスを使ったデータ活用例までをトータルでご紹介する。まずどのように構築を開始し、BIや機械学習を使ったビジネス価値創出に繋げられるかを紹介する。
資料
発表内容
レコメンドの機械学習課題の例と、機械学習に十分な品質のデータを用意するための観点・ツールを、具体的なユースケースと一緒にご紹介しました。
- データ分析をもっと簡単にするために
- データ品質(Glue Data Quality)
- データの保存(Apache Iceberg)
- オーケストレーション(dbt)
- データ共有(Redshift Data Sharing)
- マネージドサービスを使って手軽にデータ活用を始める
- 機械学習の例(レコメンド)
- Amazon Personalize
データ品質(Glue Data Quality)
AWSではGlue Data Qualityを使ったデータ品質検査が可能です。
機械学習やデータ分析において、データ品質の担保は重要な要素です。基準を満たさないデータが連携された場合、間違った分析結果が出力されたり、データパイプラインがエラーで止まってしまうケースも考えられます。
Glue Data Qualityではデータの品質検査のルールを定義し、どれくらいのデータが基準を満たしているか確認可能です。プレビュー機能ではありますが、過去のデータと比較したデータ内容の変化をグラフで確認することもできます。
詳細については以下のブログをご参照ください。
データの保存(Apache Iceberg)
Apache Icebergはデータレイクのテーブルフォーマットのひとつで、データウェアハウスのようにデータへのアクセスが可能です。
データレイクではJSONやParquetなどといった形式のファイルに対してクエリを発行します。Apache HudiやIcebergやDelta Lakeなどのテーブルフォーマットはファイルを管理する仕組みのことで、ユーザーやコンピュートはこの仕組みを介してデータファイルにアクセスします。Icebergは従来のテーブルフォーマットと異なり、データの編集やトランザクションのサポートなどのデータウェアハウスに備わる機能をデータレイクとして活用できます。
他にも、カラムの値を関数で変換し、パーティション値を生成するHidden Partitionという強力な機能もあります。個人的には一番の推しポイントなので説明にも力が入りました!
以下ブログもご参照ください。
- Amazon Athena Apache IcebergテーブルフォーマットによるACID Transactionを試してみました! #reinvent | DevelopersIO
-
Amazon AthenaのIcebergテーブルのbucket関数で、ハッシュによるパーティション分割を利用してみる | DevelopersIO
オーケストレーション(dbt)
dbtはデータ変換をSQLで行うサービスで、SELECT句が書ければ誰でもデータマートが作成可能です。
特に、CI/CD・テスト自動実行・ドキュメント生成など、アプリ開発と同様の手法でデータマート開発ができる点は強力なポイントです。これにより一貫性や正確性が担保され、組織のメンバーが一元化された情報にアクセスできますし、開発効率が高まります。
セッションの中ではdbtをAmazon Athenaと組み合わせて利用するユースケースをご紹介しました。詳しくは以下のブログをご参照ください。
データ共有(Redshift Data Sharing)
Redshift Data Sharingはデータのコピーや移動を待たず、他のクラスタにライブデータを即座に共有できる機能です。データ共有を設定自体もスライドに記載したようなクエリを実行するだけです。
セッションの中ではデータハブとして変換などを行うRedshiftクラスタから別クラスタにデータ共有し、BIツールからのアクセスをさせるユースケースをご紹介しました。AWSアカウントを跨いでもデータ共有でき、即座にライブデータへアクセスできるのは便利ですね。
以下のブログもご参照ください。
マネージドサービスを使って手軽にデータ活用を始める
AWSでは機械学習のマネージドサービスが提供されており、低コストで機械学習を始められます。セッションの中では、それぞれの機械学習タスクに対応するマネージドサービスをご紹介しました。
機械学習の例(レコメンド)
ECサイトでのおすすめ商品を表示するユースケースを例に取り、Amazon Personalizeを使ったレコメンデーションについて、導入メリットからアーキテクチャ例までご紹介しました。
Amazon Personalizeを使うことで、ユーザーベース(あなたにおすすめの商品)のパーソナライズ・アイテムベース(この商品を買った人におすすめの商品)のパーソナライズ・ユーザーごとにアイテムのランキング生成が可能です。
セッションでは具体的なバッチ/リアルタイムレコメンドを実現するアーキテクチャをご紹介しています。
まとめ
セッションでは、小さく始めて大きく育てるをテーマに、データ分析をもっと簡単にする要素やサービスと、Amazon Personalizeを用いたレコメンデーションの例をご紹介しました。マネージドサービスをうまく組み合わせて利用することで、より早くより簡単にデータ分析における課題にアプローチできるようになりました。こうしたサービスを利用して小さく始めるのがおすすめです。小さく始めるためのサポートや、大きく育ってからのお悩み相談など、データ利活用に関してご興味がありましたらぜひご相談ください!